Typically, in order to backup data on a production storage device, a copy or snapshot of the production device is taken, and the backup is made from this snapshot. This allows the production device to remain active during the backup operation. In order to execute such a back-up operation, a copy-on-write snapshot is often used. A copy-on-write snapshot initially comprises file system location information of the files on the underlying storage device, but not the actual files themselves. Thus, initially no actual copy of the data on the production storage device is created, thereby saving storage space and computing resources. However, if a user attempts to modify (e.g., write to) the snapshot, a snapshot copy of the target data is made, and then modified by the user operation. Thus, only the snapshot copy is updated, but the underlying production device is not. On the other hand, when a user writes to the production device, the original target data on the production device is first copied to the snapshot, such that the snapshot now includes a copy of the data prior to the write operation. The write operation to the production device then occurs. Thus, updates to the production device do not modify the snapshot, only the production device.
Backup operations are often performed “off-host” (i.e., where the actual backup is performed by a computing device other than the one associated with the storage device being backed-up). This frees up the resources of the primary computing device that would otherwise be devoted to the backup operation. A remote computing device performing a backup from a snapshot does not have internal access to the file system of the computing device being backed-up. Therefore, the remote computing device needs access not only to the snapshot itself, but it also needs the direct translations between the snapshot and the underlying physical storage device, so that it can access the actual files. For off-host backups, a file mapping methodology is used to create this mapping information between the snapshot and the underlying storage device. The snapshot and these physical storage mappings are transferred to the computing device which is to perform the backup, such that it can directly access the underlying storage device.
However, where a copy-on-write snapshot is used for an off-host backup operation, every write operation to the production device during the backup operation results in changes to the translation mappings of the snapshot device. Any such changes occurring during the backup require translation mappings to be refreshed at the backup host. That of course means that the backup will need to be restarted for that snapshot every time a write operation occurs during the backup operation. Such write operations can be frequent. This makes the backup operation both time and resource intensive, thereby prolonging the backup cycle.
What is needed are methods, computer readable media and computer systems for enabling off-host backup from a copy-on-write snapshot, without the problems described above.